package com.briup.corejava.day17;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 线程池的使用
 * Executor 接口
 * ExecutorService 类
 */
public class Test3 {
    public static void main(String[] args) {
        // 准备一个游泳馆，游泳馆里有教练
        ExecutorService es = Executors.newFixedThreadPool(2);
        // 新建学员的任务
        Runnable r = new MyRunnable();
        // 提交任务
        es.submit(r);
        es.submit(r);
        es.submit(r);
        es.submit(r);
        es.submit(r);
        // 关闭线程池（后续没有任务了，再关闭，线程池一般不关闭）
        es.shutdown();
    }
}
// 准备学员
class MyRunnable implements Runnable{
    @Override
    public void run() {
        System.out.println("我需要一个教练");
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        String name = Thread.currentThread().getName();
        System.out.println(name+"教练为您服务！");
        System.out.println(name+"服务完毕！");
    }
}
